Customer reference generator

ABSTRACT

A system generates a customer reference recommendation based on similarity to other customers. The system includes a customer data file including demographic data and purchasing pattern data for a plurality of customers, a first cluster model trained on the demographic data, and a second cluster model trained on the purchasing pattern data. A customer reference generator produces a customer reference recommendation based on cluster membership in the first and second cluster models in response to a query from a user interface.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to provisional application No. 61/110,729 filed Nov. 3, 2008, which is hereby incorporated by reference.

FIELD OF THE INVENTION

One embodiment is directed generally to customer sales, and more particularly to an computer system for assisting with customer sales.

BACKGROUND INFORMATION

A “sales lead” typically includes a name or other indicia of identity (e.g., a phone number, mailing address or email address) of a person or business that may have an interest in purchasing a product or service. A sales lead provides a starting point for a salesperson to further develop the lead by marketing a specific vendor's product or service. The salesperson develops the sales lead by gathering information about the potential customer and providing the customer with information about the vendor. This mutual exchange of information helps the salesperson to persuade the potential customer to purchase a product or service from the vendor. If the customer makes a purchase, the salesperson has converted the sales lead into a sales transaction. A sales lead with a high probability of being converted into a sales transaction is considered a good lead.

Data mining can assist in generating sales leads by finding patterns in information gathered about customers. In the past, vendors have used data mining to match potential customers to products. While this is helpful, a lead itself possesses no measure of success in terms of converting the lead into a sale. There may be other factors that figure into the success of a lead which are not presently accounted for. For example, there may be other customers with similar attributes and similar buying patterns, but there are is no way to determine which of these customer references are the best references for recommending a sales call.

SUMMARY OF THE INVENTION

One embodiment is a system that generates a customer reference recommendation based on similarity to other customers. The system includes a customer data file including demographic data and past purchasing pattern data for a plurality of customers, a first cluster model trained on the demographic data, and a second cluster model trained on the past purchasing pattern data. A customer reference generator produces a customer reference recommendation based on cluster membership in the first and second cluster models.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system that can implement a customer reference generator in accordance with an embodiment.

Fig. is a block diagram of a customer reference generator in an accordance with an embodiment.

FIG. 3 is a flow diagram of the functionality of the customer reference generator in accordance with an embodiment.

FIG. 4 is an example user interface of the customer reference generator in accordance with an embodiment.

FIG. 5 is an example user interface that illustrates a customer referenceability box that pops up in response to a user selecting a feedback icon.

DETAILED DESCRIPTION

One embodiment is a customer reference generator that identifies reference customers to use in selling to a perspective new customer. The reference customers are generated from a hybrid prediction model that includes a customer demographic cluster model and a customer past purchases cluster model.

In one embodiment, an administrator will first upload customer data with which to train a prediction model. The customer data may include past purchasing history, assets, demographics, etc. A hybrid prediction model is then trained based on both the demographic pattern data and the past purchasing pattern data in the customer data. The model is considered a “hybrid” because it uses two types of data when creating the model. One type of data includes two-dimensional demographics data where each customer has one row with some attribute values set for a constant set of attributes. The other type of data, transactional data, relates to the customers' orders. The number of orders and products differ per customer. Once the models are built, a sales person may query the models to acquire customer references based on another customer or a product. A data mining operation based on a clustering model returns customer references based on similarity. Similarity is based on both demographic attributes of customers and their past purchasing patterns.

FIG. 1 is a block diagram of a system 10 that can implement an embodiment of a customer reference generator. System 10 includes a bus 12 or other communication mechanism for communicating information, and a processor 22 coupled to bus 12 for processing information. Processor 22 may be any type of general or specific purpose processor. System 10 further includes a memory 14 for storing information and instructions to be executed by processor 22. Memory 14 can be comprised of any combination of random access memory (“RAM”), read only memory (“ROM”), static storage such as a magnetic or optical disk, or any other type of computer readable media. System 10 further includes a communication device 20, such as a network interface card, to provide access to a network. Therefore, a user may interface with system 10 directly, or remotely through a network (such as the Internet) or any other method.

Computer readable media may be any available media that can be accessed by processor 22 and includes both volatile and nonvolatile media, removable and non-removable media, and communication media. Communication media may include computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.

Processor 22 is further coupled via bus 12 to a display 24, such as a Liquid Crystal Display (“LCD”), for displaying information to a user. A keyboard 26 and a cursor control device 28, such as a computer mouse, is further coupled to bus 12 to enable a user to interface with system 10.

In one embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. The modules include an operating system 15 that provides operating system functionality for system 10. The modules further include a customer reference generator module 120. This module is described in greater detail below. The modules further include enterprise resource planning (“ERP”) modules 18 of an ERP system that may interact with customer reference generator module 120. An ERP system is a computer system that integrates several data sources and processes of an organization into a unified system. A typical ERP system uses multiple components of computer software and hardware to achieve the integration. A unified ERP database 17, coupled to bus 12, is used to store data for the various system modules. In one embodiment, ERP modules 18 are part of the “Oracle E-Business Suite Release 12” ERP system from Oracle Corp. In other embodiments, customer reference generator module 120 may be a stand-alone system and not integrated with an ERP system, or may be part of any other integrated system. In some embodiments, the functions of customer reference generator module 120, described below, are directed and utilized remotely from a user's computer 50 through communication device 20. In one embodiment, the functionality disclosed below may be accessed remotely by a user as a software as a service (“SAAS”).

FIG. 2 is a block diagram of a customer relationship management (“CRM”) system 200 in which customer reference generator module 120 may be used in accordance with an embodiment. CRM module 220 is an ERP module for managing customer information, including demographic data, past purchasing patterns, assets owned, etc. CRM module 220 includes schemas for the customer data, and interacts with database 17 to store the customer data in database 17 in accordance with these schemas. Customer reference generator module 120 includes a user interface (described below) for viewing customer data, for entering queries for customer references, and for viewing the results of those queries. Customer reference generator 120 performs data mining in database 17 to retrieve the results of the queries.

FIG. 3 illustrates a flow diagram of the functionality of customer reference generator module 120 in accordance with an embodiment. In one embodiment, the functionality of the flow diagram of FIG. 3 is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality may be performed by hardware (e.g., through the use of an application specific integrated circuit (“ASIC”), a programmable gate array (“PGA”), a field programmable gate array (“FPGA”), etc.), or any combination of hardware and software.

An administrator of system 10 first imports customer data into the customer reference generator module 120 in the form of a Comma Separated Value (“CSV”) file (310). The customer data may be imported, for example, from database 17, and includes both past purchasing pattern attributes and demographic attributes. The CSV files are a fixed file format that include five record types: customers, products, orders, order lines, and target customers by user. The CSV file formats follow a specific format, described below, in an embodiment. The CSV files may be imported into customer reference generator module 120 in any order. For customer reference generator module 120 to provide references or make a sales prediction, at least the following record types should be present: customers, products, orders, and order lines. In the CSV file, each column is separated by a comma, and each record starts on a new line.

A sample customers.csv file is now described. Table 1 illustrates the data types for customer records:

TABLE 1 Data Max. Re- Column Type Length quired Description Customer_ID String  30 Char. Yes Customer identifier Customer_Name String 200 Char. Yes Customer name Customer_Location String 300 Char. No Customer location Owner_Email String 100 Char. Yes Email address of account owner Owner_Name String 200 Char. Yes Name of the customer account owner VarChar_1 String 200 Char. No Industry VarChar_2 String 200 Char. No Headquarter's country VarChar_3 String 200 Char. No Public or Private VarChar_4 String 200 Char. No Importer or Exporter VarChar_5 String 200 Char. No Custom string field Numeric_1 Number  10 digits No Annual revenue Numeric_2 Number  10 digits No Number of employees Numeric_3 Number  10 digits No Number of locations Numeric_4 Number  10 digits No Custom numeric field Date_1 Date N/A No Custom date field An example customers.csv file is presented below:

-   Customer_ID, Customer_Name, Customer_Location, Owner_Email,     Owner_Name, VarChar_(—)1, VarChar_(—)2, VarChar_(—)3, VarChar_(—)4,     VarChar_(—)5, VarChar_(—)6, VarChar_(—)7, VarChar_(—)8,     VarChar_(—)9, VarChar_(—)10, Numeric_(—)1, Numeric_(—)2,     Numeric_(—)3, Numeric_(—)4, Numeric_(—)5, Numeric_(—)6,     Numeric_(—)7, Numeric_(—)8, Numeric_(—)9, Numeric_(—)10, Date_(—)1,     Date_(—)2, Date_(—)3, Date_(—)4, Date_(—)5, Date_(—)6, Date_(—)7,     Date_(—)8, Date 9, Date_(—)10 Cust-01, Customer 1 Name,     brenda.moore@company.com, Brenda Moore, Manufacturing, Canada,     Public, Both, . . . , 4521, 135, 3, . . . , Cust-02, Customer 2     Name, USA, donna.parker@company.com, Donna Parker, Financial     Services, USA, Public, Importer, . . . , 12129, 929, 6, . . . ,

A sample products.csv file is now described. Table 2 illustrates the data types for product records:

TABLE 2 Column Data Type Max. Length Required Description Product_ID String  30 Char. Yes Product identifier Product_Name String 100 Char. Yes The product name An example products.csv file is presented below:

-   Product_ID, Product_Name -   Prod-01, Oracle Database 10g -   Prod-02, Oracle Database 11g

A sample orders.csv file is now described. Table 3 illustrates the data types for order records:

TABLE 3 Data Max. Column Type Length Required Description Order_ID String 30 Char. Yes Order header identifier Customer_ID String 30 Char. Yes Identifies customer on this order An example orders.csv file is presented below:

-   Order_ID, Customer_ID -   Order-01, Cust-01 -   Order-02, Cust-02

A sample order_lines.csv file is now described. Table 4 illustrates the data types for order line records:

TABLE 4 Data Max. Re- Column Type Length quired Description Order_Line_ID String 30 Char. Yes Order line identifier Order_ID String 30 Char. Yes Order identifier Product_ID String 30 Char. Yes Product_ID references a product in the Products.csv file Quantity Number 15 digits No Quantity sold on this with 2 order line decimal places Amount Number 15 digits No The order line amount with 2 decimal places Close_Date Date N/A No The date when the product sale is closed Lead_Date Date N/A No The date when the lead that resulted in this order line was received An example order_line.csv file is presented below:

-   Order_Line_ID, Order_ID, Product_ID, Quantity, Amount, Close_Date,     Lead_Date -   Order-Ln-01, Order-01, Prod-01, 10, 10, 2007-02-06, 2008-10-15 -   Order-Ln-02, Order-02, Prod-02, 50, 50, 2007-03-09, 2009-02-15

A sample member_customers.csv file is now described. Table 5 illustrates the data types for user-to-customer mapping records:

TABLE 5 Data Max. Re- Column Type Length quired Description User_Email String 100 Char. Yes The email address of a community member Customer_ID String  30 Char. Yes The customer identifier Operation String  2 Char. Yes Indicates whether the current record should be inserted or deleted in the database, as follows: “I” indicates an insert. The insert does not succeed if the record already exists “UC” indicates an update by customer “UM” indicates an update by member (the sales representative) “D” indicates delete An example member_customers.csv file is presented below:

-   User_Email, Customer_ID, Operation -   brenda.moore@company.com, Cust-01, I -   brenda.moore@company.com, Cust-02, I -   donna.Parker@company.com, Cust-04, I

Next, a hybrid prediction model is built for predicting, for a product, one or more existing or previous customers that would be the best references for the product (320). One embodiment uses a clustering function to organize customers into clusters. Two clustering models are built, one based on customers' demographic attributes and another based on past purchase behavior. In one embodiment, attributes for the clustering model based on demographics include the customer location, industry type, headquarter country, public or private, an importer or an exporter, the number of locations, the number of employees, annual revenue, etc. In one embodiment, attributes for the clustering model based on past purchases uses ownership of other products, sold by the same or a different vendor, as input parameters. As one example, two customers that purchased Oracle Database, Oracle Collaboration Suite and Oracle Application server are more likely to end up in the same cluster than those with that only purchased one common product.

In one embodiment, the clustering algorithm used to generate the models is the K-means algorithm. The K-means algorithm is an algorithm to cluster n objects based on attributes into k partitions, k<n. It assumes that the object attributes (demographic and purchasing pattern attributes) form a vector space. The objective it tries to achieve is to minimize total intra-cluster variance. The most common form of the algorithm uses an iterative refinement heuristic known as Lloyd's algorithm. Lloyd's algorithm starts by partitioning the input points into k initial sets, either at random or using some heuristic data. It then calculates the mean point, or centroid, of each set. It constructs a new partition by associating each point with the closest centroid. Then the centroids are recalculated for the new clusters, and the algorithm is repeated by alternate application of these two steps until convergence, which is obtained when the points no longer switch clusters (or alternatively centroids are no longer changed). In other embodiments, clustering can be performed using Enhanced K-means (based on distance metric) or O-cluster (based on density). In one embodiment, the “Data Mining Option” for the “Oracle Database 11G” from Oracle Corp. can be used to provide the clustering function.

In addition to the two clustering models, a global associations rules model is built across all customers. One embodiment uses the Apriori data mining algorithm to build association rules. Apriori is designed to operate on databases containing transactions (for example, collections of items bought by customers, or details of a website frequentation). As is common in association rule mining, given a set of transactions (for instance, sets of retail transactions, each listing individual items purchased), the algorithm attempts to find subsets of items which are common to at least a minimum number “S” (the support threshold) of the transactions. Apriori uses a “bottom up” approach, where frequent subsets are extended one item at a time (a step known as “candidate generation”), and groups of candidates are tested against the data. The algorithm terminates when no further successful extensions are found. Apriori uses breadth-first search and may use a tree structure to count candidate itemsets efficiently. It generates candidate itemsets of length k from itemsets of length k−1. It then prunes the candidates which have an infrequent sub pattern. According to the downward closure lemma, the candidate set contains all frequent k-length itemsets. Next, it scans the transaction database to determine frequent itemsets among the candidates. One of ordinary skill in the art will recognize that other data mining algorithms instead of Apriori may be used to build association rules based on attribute data.

Once the demographic model and the past purchasing pattern model are built, each customer is assigned to a certain cluster in each model (330). For example, consider five customers, a demographic cluster model that includes at least two clusters, and a purchasing pattern cluster model that includes at least three clusters. An example cluster assignment is presented in Table 6 below:

TABLE 6 Demographic Cluster Purchase Cluster Customer Model Pattern Model Acme Cluster 2 Cluster 2 Bromide Cluster 1 Cluster 2 Calcium Cluster 2 Cluster 2 Density Cluster 1 Cluster 3 Ether Cluster 1 Cluster 1

Using the clustering models, a user can query the models to return a customer reference (340). To initiate a query, the user can select a sales prospect (i.e., a certain product that has been recommended to a certain customer) and request a list of potential references with the best references at the top of the list. For example, assume a sales representative is considering a recommendation of a “Business Intelligence” software application to Customer “Acme” (i.e., the prospective customer). Embodiments uses cluster membership to determine which customers are most similar to the prospective customer.

Based on the cluster assignments of Table 6 above, customer reference generator 120 calculates a similarity score in reference to Customer Acme to sort by (350). For example, if Customer “Calcium” were in the same cluster with Acme in both models, the similarity score would be “2.” Sharing cluster membership with Acme in only one model would mean a score of “1,” and sharing no cluster memberships with Acme would mean a score of “0.” An example similarity score breakdown for the customers from Table 6 is presented in Table 7 below:

TABLE 7 Demographic Purchase Cluster Similarity Customer Cluster Model Pattern Model Score Acme Cluster 2 Cluster 2 N/A Bromide Cluster 1 Cluster 2 1 Calcium Cluster 2 Cluster 2 2 Density Cluster 1 Cluster 3 0 Ether Cluster 1 Cluster 1 0

Customer reference generator 120 then presents the user with an ordered and ranked list of references based on the similarity score (360). The user can then use this list for customer references for selling to Acme. An example list is presented in Table 8 below:

TABLE 8 Customer Score Calcium 2 Bromide 1 Density 0 Ether 0

One embodiment uses the hybrid prediction model disclosed above (e.g., using both a demographic cluster model and past purchases cluster model) to predict the buying patterns of a new customer who has not previously purchased any products. System 10 first identifies customers that are similar to the new customer by matching similar demographic attributes. The past purchasing patterns of these similar customers are then used as the basis for product recommendations. In one embodiment, since the new customer does not own any products, the entire set of product recommendations for the similar customers are used as recommended products to the new customer.

FIG. 4 illustrates an example graphical output user interface 400 of the customer reference module 120 in a dashboard view, in accordance with an embodiment. In one embodiment, UI 400 is generated in response to a query for a specific prospect (i.e., a combination of a customer and a specific product). A graphical portion 405, shows attributes such as a projected revenue and probability of a sales close for a customer 410 (in this example, “BSI2000INC”); a products list 420 listing recommended products for a sales call; a purchase history 430 for the particular customer, including in this example a graph of money spent on products over the past sixteen quarters; and a references list 440 that lists customers of similar needs, demographics, and purchasing patterns that can be used as references for a sales call. The list of references is in descending order of desirability. Further, dashboard user interface 400 includes a projected revenue filter slider 450 for filtering results in graph view 405 based on the projected revenue of the sale if completed; and a purchase probability slider 460 for filtering results in graph view 405 based on the probability that the sale will be completed. Therefore, specific filters when searching for prospects can be used to display, for example, prospects with an expected revenue greater than $100,000; which products a specific customer is most likely to purchase; or which prospects are expected to generate the most revenue for a specific product.

One embodiment allows a user to provide feedback for each reference of list 440 based on, for example, past experience with that reference. A user can select a feedback icon 442 for a reference. In response, a “customer referenceability” box will pop up. FIG. 5 is an example user interface that illustrates a customer referenceability box 502 that pops up in response to a user selecting a feedback icon for reference “Purchasesoft”. Box 502 allows a user to specify if the account/reference (i.e., Purchasesoft) is referenceable and if the product is referenceable at the account. This information will be available to other users that generate Purchasesoft as a potential reference in the future.

Accordingly, a hybrid prediction model combining demographic data and purchasing pattern data is disclosed. The model may be used to understand a prospective customer's demographic, financial and commercial profile and the customer's buying patterns. Based on similarity to other customers in demographic and purchasing pattern data, customer references are generated that can assist in making a sale to the prospective customer.

Some embodiments of the invention have been described as computer-implemented processes. It is important to note, however, that those skilled in the art will appreciate that the mechanisms of the invention are capable of being distributed as a program product in a variety of forms. The foregoing description of example embodiments is provided for the purpose of illustrating the principles of the invention, and not in limitation thereof, since the scope of the invention is defined solely by the appended claims. 

1. A computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to generate a customer reference recommendation by: uploading customer data including past purchasing pattern data and demographic data for a plurality of customers; requesting a customer reference recommendation; and receiving at least one customer reference recommendation from a prediction model trained by the purchasing pattern data and the demographic data.
 2. The computer-readable medium of claim 1, wherein demographic data includes at least one of: a customer location, industry, headquarter country, public corporation status, importer status, exporter status, number of locations, number of employees, and annual revenue.
 3. The computer-readable medium of claim 1, wherein the at least one customer reference recommendation includes a similarity score to another customer.
 4. The computer-readable medium of claim 1, wherein the prediction model comprises a first cluster model and a second cluster model.
 5. The computer-readable medium of claim 4, wherein the first cluster model is built on the demographic data.
 6. The computer-readable medium of claim 4, wherein the second cluster model is built on the past purchasing pattern data.
 7. The computer-readable medium of claim 4, wherein the first and second cluster models are used to calculate a similarity score based on cluster membership.
 8. The computer-readable medium of claim 7, wherein a first customer and a second customer both sharing membership in a first cluster in the first cluster model and a second cluster in the second cluster model generates a maximum similarity score.
 9. A computer-implemented method for generating a customer reference recommendation, comprising: receiving customer data including purchasing pattern data and demographic data for a plurality of customers; generating a prediction model trained by the purchasing pattern data and the demographic data; receiving a query for a customer reference recommendation; and responding to the query with at least one customer reference recommended by the prediction model.
 10. The method of claim 9, wherein demographic data includes at least one of: a customer location, industry, headquarter country, public corporation status, importer status, exporter status, number of locations, number of employees, and annual revenue.
 11. The method of claim 9, wherein the at least one customer reference includes a similarity score to another customer.
 12. The method of claim 9, wherein the prediction model comprises a first cluster model and a second cluster model.
 13. The method of claim 12 wherein the first cluster model is built on the demographic data.
 14. The method of claim 12, wherein the second cluster model is built on the purchasing pattern data.
 15. The method of claim 12, wherein the first and second cluster models are used to calculate a similarity score based on cluster membership.
 16. A system for generating a customer reference recommendation, comprising: a customer data file including demographic data and purchasing pattern data for a plurality of customers; a first cluster model trained on the demographic data; a second cluster model trained on the purchasing pattern data; a customer reference generator that produces a customer reference recommendation based on cluster membership in the first and second cluster models; and a user interface for querying the customer reference generator.
 17. The system of claim 16, wherein the customer reference recommendation is based on a similarity score generated from cluster memberships in the first cluster model and the second cluster model.
 18. The computer-readable medium of claim 1, further comprising generating a buying pattern prediction for a new customer.
 19. The computer-readable medium of claim 1, wherein the customer reference recommendation comprises a list of customer references in a ranked order.
 20. The computer-readable medium of claim 1, further comprising receiving feedback for at least one of the customer reference recommendation. 